package org.enlongWu.service;

import org.enlongWu.pojo.Application;
import org.enlongWu.pojo.ApplicationState;
import org.enlongWu.pojo.PageBean;
import org.enlongWu.pojo.Result;

import java.util.List;

public interface ApplicationService {

    /**
     * 查询申请实体状态列表
     * @return
     */
    List<ApplicationState> list();

    /**
     * 获取申请实体
     *
     * @param applicationId
     */
    Application findById(Integer applicationId);

    /**
     * 处理申请实体，即更改其state属性
     * @param applicationId
     * @return
     */
    Result handleApplication(Integer applicationId,String toState);

    Integer addApplication(Application application);

    /**
     * 根据id集合分页拿到申请实体
     * @param pageNum
     * @param pageSize
     * @param ids
     * @return
     */
    PageBean<Application> listFindById(Integer pageNum, Integer pageSize, List<Integer> ids);

    /**
     * 根据id删除申请实体
     * @param applicationId
     * @return 影响的行数
     */
    int delete(Integer applicationId);
}
